package com.example.myapp.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.Nullable;

public class UserSQLiteOpenHelper extends SQLiteOpenHelper {
    //初始版本
    private static int DB_VERSION=1;

    public UserSQLiteOpenHelper(@Nullable Context context, @Nullable String databaseName, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
        super(context, databaseName, factory, version);
    }

    public UserSQLiteOpenHelper(@Nullable Context context, @Nullable String databaseName,  int version) {
        this(context, databaseName, null, version);
    }

    public UserSQLiteOpenHelper(@Nullable Context context, @Nullable String databaseName) {
        this(context, databaseName,DB_VERSION );
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        System.out.println("创建数据库和表");
        //创建了数据库并创建一个叫records的表
        //SQLite数据创建支持的数据类型： 整型数据，字符串类型，日期类型，二进制的数据类型
        String createUserTableSql= "create table user(id integer primary key autoincrement ,username varchar(64),password varchar(64),nickname varchar(64),gender integer,age integer,phone varchar(40),email varchar(40))";
//execSQL用于执行SQL语句
        //完成数据库的创建
        db.execSQL(createUserTableSql);
        //数据库实际上是没有被创建或者打开的，直到getWritableDatabase() 或者 getReadableDatabase() 方法中的一个被调用时才会进行创建或者打开



    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
        System.out.println("更新数据库版本为:"+newVersion);
    }
}
